#pragma once
#include "Preprocessor.hpp"
namespace Level5
{
	class CPPPreprocessor final :
		public Preprocessor
	{
		std::size_t index = 0;
		virtual Preprocessor::Token GetToken()final;
	public:
		using Token = Preprocessor::Token;
		CPPPreprocessor() = default;
		CPPPreprocessor(const CPPPreprocessor&) = delete;
		virtual std::list<Level5::CPPPreprocessor::Token>* operator()(const char16_t* fileName)final override;
	};
}